package com.zmj.sy.mom.srv.aps.utils.schedulerole;

import com.zmj.sy.mom.srv.aps.bean.bo.CacheFactory;
import com.zmj.sy.mom.srv.aps.bean.entity.order.ApsBatch;
import com.zmj.sy.mom.srv.aps.bean.entity.order.ApsOrder;
import com.zmj.sy.mom.srv.aps.bean.entity.order.Order;
import com.zmj.sy.mom.srv.aps.bean.vo.apsorder.ApsOrderScheduleReqVo;

import java.util.List;

public interface ScheduleRole {

    /**
     * 顺序排产
     */
    Integer SEQ = 1;
    Integer MIX = 2;

    Integer DELIVERY_DATE = 3;

    Integer ORDER_WEIGHT = 4;

    Integer CUSTOMER_WEIGHT = 5;


    List<ApsOrder> sort(List<ApsOrder> apsOrders, ApsOrderScheduleReqVo reqVo);


    Integer getMyCode();

    default List<ApsOrder> sort(CacheFactory reqVo, ApsBatch batch, List<Order> orders){
        return null;
    };
}
